#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <vector>

using namespace std;
using LL = long long;

signed solve() 
{
	for(int i = 1; i <= 25; i ++ ) 
	{
		cout << "? 1 " << i + 1 << endl;
		long long len1, len2;
		cin >> len1;
		if(len1 == -1) 
		{
			cout << "! " << i << endl;
			return 0;
		}
		cout << "? " << i + 1 << " 1" << endl;
		cin >> len2;
		if(len1 != len2) 
		{
			cout << "! " << len1 + len2 << endl;
			return 0;
		}
	}
	return 0;
}

int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    solve();
    
    return 0;
}